Skip to content

Feature/intellij editors#2475

Merged
juliusmarminge merged 3 commits intopingdotgg:mainfrom
Minigamer42:feature/intellij-editors
May 6, 2026
Merged

Feature/intellij editors#2475
juliusmarminge merged 3 commits intopingdotgg:mainfrom
Minigamer42:feature/intellij-editors

Conversation

@Minigamer42
Copy link
Copy Markdown
Contributor

@Minigamer42 Minigamer42 commented May 2, 2026

What Changed

  • Added remaining IntelliJ editors for better DX, namely:
    • Aqua
    • CLion (C, C++)
    • DataGrip (SQL)
    • DataSpell (Python, R)
    • GoLand (Go)
    • IntelliJIdea (Java, Kotlin, Scala, Groovy)
    • PhpStorm (PHP)
    • PyCharm (Python)
    • Rider (C#)
    • RubyMine (Ruby)
    • RustRover (Rust)
    • WebStorm (JavaScript, TypeScript)
  • Fixed file name normalization, because openening file links from the chat failed
image

Why

  • Because they were missing

UI Changes

  • editor selector
    image

  • file outside of the project
    image

  • external link renders as expected
    image

  • before and after for file links

image image
  • before and after in a longer text
image image

Checklist

  • This PR is small and focused
  • I explained what changed and why
  • I included before/after screenshots for any UI changes
  • I included a video for animation/interaction changes

Note

Medium Risk
Moderate risk due to new editor IDs affecting editor selection/launch behavior and a behavioral change in how chat file links encode line/column positions, which could impact existing links or integrations.

Overview
Editor support expanded: adds 11 JetBrains IDEs (aqua, clion, datagrip, dataspell, goland, phpstorm, pycharm, rider, rubymine, rustrover, webstorm) to the shared editor contract and wires them into the web editor picker with new SVG icons; server-side tests are extended to validate launch args and Windows editor discovery.

Markdown file-link handling tightened: normalizes markdown link destinations (trims and unwraps <...>), fixes Windows drive-path normalization (e.g. /C:/...), and updates chat rendering/tests so file links use colon-style positions (path:line[:col]) instead of hash anchors (#LxCy) when opening in editors.

Reviewed by Cursor Bugbot for commit a2e9b45. Bugbot is set up for automated code reviews on this repo. Configure here.

Note

Add support for 11 additional JetBrains editors in the editor picker

  • Adds editor definitions for Aqua, CLion, DataGrip, DataSpell, GoLand, PhpStorm, PyCharm, Rider, RubyMine, RustRover, and WebStorm to editor.ts, each using line-column launch style.
  • Adds corresponding icons in a new JetBrainsIcons.tsx module and wires them into the OpenInPicker.
  • Improves markdown link handling in markdown-links.ts: angle-bracketed hrefs are now unwrapped, Windows drive paths with a leading slash are normalized, and file URI hrefs produce colon-separated line/column positions.
  • Behavioral Change: file link hrefs in chat now use colon-separated positions (e.g. file:1:7) instead of hash anchors (e.g. file#L1C7).

Macroscope summarized a2e9b45.

@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented May 2, 2026

Important

Review skipped

Auto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

Run ID: ed16d127-1c1b-4c26-a796-c8e18f42294d

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Tip

💬 Introducing Slack Agent: Turn conversations into code.

Slack Agent is built on CodeRabbit's deep understanding of your code, so your team can collaborate across the entire SDLC without losing context.

  • Generate code and open pull requests
  • Plan features and break down work
  • Investigate incidents and troubleshoot customer tickets together
  • Automate recurring tasks and respond to alerts with triggers
  • Summarize progress and report instantly

Built for teams:

  • Shared memory across your entire org—no repeating context
  • Per-thread sandboxes to safely plan and execute work
  • Governance built-in—scoped access, auditability, and budget controls

One agent for your entire SDLC. Right inside Slack.

👉 Get your free trial and get 200 agent minutes per Slack user (a $50 value).


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@github-actions github-actions Bot added size:XL 500-999 changed lines (additions + deletions). vouch:unvouched PR author is not yet trusted in the VOUCHED list. labels May 2, 2026
Comment thread apps/web/src/components/JetBrainsIcons.tsx Outdated
Comment thread apps/web/src/components/JetBrainsIcons.tsx Outdated
@macroscopeapp
Copy link
Copy Markdown
Contributor

macroscopeapp Bot commented May 2, 2026

Approvability

Verdict: Approved

Adds 11 JetBrains IDE options to the existing editor picker by extending arrays and adding SVG icon components. Changes follow established patterns, are well-tested, and don't introduce new workflows or capabilities beyond the existing editor selection feature.

You can customize Macroscope's approvability policy. Learn more.

@Minigamer42 Minigamer42 force-pushed the feature/intellij-editors branch from 6da216c to 361299e Compare May 2, 2026 21:56
macroscopeapp[bot]
macroscopeapp Bot previously approved these changes May 2, 2026
@Minigamer42 Minigamer42 force-pushed the feature/intellij-editors branch from 361299e to d1adf2b Compare May 2, 2026 22:21
@macroscopeapp macroscopeapp Bot dismissed their stale review May 2, 2026 22:21

Dismissing prior approval to re-evaluate d1adf2b

macroscopeapp[bot]
macroscopeapp Bot previously approved these changes May 2, 2026
@macroscopeapp macroscopeapp Bot dismissed their stale review May 2, 2026 23:32

Dismissing prior approval to re-evaluate 8463a85

@Minigamer42 Minigamer42 force-pushed the feature/intellij-editors branch from 8463a85 to a2e9b45 Compare May 5, 2026 07:46
Copy link
Copy Markdown
Contributor

@cursor cursor Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit a2e9b45. Configure here.

function normalizeMarkdownLinkHrefKey(href: string): string {
return rewriteMarkdownFileUriHref(href.trim()) ?? href.trim();
const normalizedHref = normalizeMarkdownLinkDestination(href);
return rewriteMarkdownFileUriHref(normalizedHref) ?? normalizedHref;
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Redundant double normalization in href processing

Low Severity

normalizeMarkdownLinkHrefKey calls normalizeMarkdownLinkDestination(href) and then passes the result to rewriteMarkdownFileUriHref, which internally calls normalizeMarkdownLinkDestination again on the already-normalized value. The normalization is idempotent so this isn't a functional bug, but it's unnecessary redundant work on every link href processed during rendering.

Additional Locations (1)
Fix in Cursor Fix in Web

Reviewed by Cursor Bugbot for commit a2e9b45. Configure here.

@juliusmarminge juliusmarminge enabled auto-merge (squash) May 6, 2026 04:08
@juliusmarminge juliusmarminge merged commit 166bce0 into pingdotgg:main May 6, 2026
10 checks passed
imabdulazeez added a commit to imabdulazeez/t3code that referenced this pull request May 6, 2026
Brings in: server CLI submodule split (pingdotgg#2545), process/trace diagnostics
views (pingdotgg#2532), JetBrains editor support (pingdotgg#2475), MessagesTimeline render
optimizations (pingdotgg#2527, pingdotgg#2498), git/terminal test stabilization (pingdotgg#2540),
keybindings settings editor (pingdotgg#2533), and provider update advisories
(pingdotgg#2312).

Conflict resolutions:
- packages/contracts/src/settings.ts: kept aa's diffFontFamily and
  terminalFontFamily alongside upstream's
  dismissedProviderUpdateNotificationKeys.
- apps/desktop/src/clientPersistence.test.ts: same shape, fixture mirrors
  the schema.
- apps/web/src/components/settings/SettingsPanels.tsx: kept both import
  groups (FontPicker from aa, ProviderUpdateLaunchNotification.logic from
  upstream).
- apps/web/src/localApi.test.ts: extended both fixtures with
  diffFontFamily and terminalFontFamily so the merged ClientSettings
  shape typechecks against the strict desktop bridge contract.

Pre-existing aa typecheck issues fixed at the root so the merge commit
is green:
- apps/desktop/src/electron.d.ts: declaration-merge "local-fonts" into
  Electron's Session.setPermissionRequestHandler permission union (the
  Electron 40 typings omit it even though the runtime supports it).
- apps/web/src/components/DiffPanel.tsx: conditionally spread style on
  Virtualizer instead of passing undefined, satisfying
  exactOptionalPropertyTypes.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:XL 500-999 changed lines (additions + deletions). vouch:unvouched PR author is not yet trusted in the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants